package com.zcoj.mail.service;


import com.zcoj.mail.pojo.Mail;
import com.zcoj.mail.pojo.MailLog;
import org.springframework.cache.annotation.CacheConfig;

import javax.mail.MessagingException;

@CacheConfig(cacheNames = "EmailService")
public interface EmailService {




    //简单的邮件发送
    public void sendSimpleMail(Mail mail);




    /**
     * 在公司实际开发中，第一种和第三种都不是使用最多的邮件发送方案。因为正常来说，邮件的内容都是比较的丰富的，
     * 所以大部分邮件都是通过HTML来呈现的，如果直接拼接HTML字符串，这样以后不好维护，为了解决这个问题，
     * 一般邮件发送，都会有相应的邮件模板。最具代表性的两个模板就是Freemarker模板和Thyemeleaf模板了。
     */

    /**
     * 使用thymeleaf作为email模板进行发送邮件
     * 通过Context将数据传送到mail.html中解析,然后发送邮件
     */
    public void sendThymeleafLoginMail(MailLog mailLog) throws MessagingException, MessagingException;

    public void sendThymeleafRegisterMail(MailLog mailLog) throws MessagingException;
}
